package com.gengzp.system.service;

import com.gengzp.common.model.pagination.resp.PaginationResponse;
import com.gengzp.common.model.serviceGovernance.req.CreateServiceGovernanceReq;
import com.gengzp.common.model.serviceGovernance.req.EditServiceGovernanceReq;
import com.gengzp.common.model.serviceGovernance.req.PageServiceGovernanceReq;
import com.gengzp.common.model.serviceGovernance.resp.PageServiceGovernanceResp;
import com.gengzp.common.model.serviceGovernance.resp.SearchServiceGovernanceResp;

/**
 * @ClassName ServiceGovernanceService
 * @Description 服务治理模块服务层接口
 * @Author gengzp
 * @Date 2025/10/14 10:38
 */
public interface ServiceGovernanceService {

    /**
     * 服务治理模块服务层接口
     *
     * @param req 创建服务治理请求参数
     */
    void createServiceGovernance(CreateServiceGovernanceReq req);

    /**
     * 根据id编辑服务治理信息
     *
     * @param req 编辑服务治理请求参数
     */
    void editServiceGovernanceById(EditServiceGovernanceReq req);

    /**
     * 根据id删除服务治理信息
     *
     * @param serviceGovernanceId 服务治理id
     */
    void removeServiceGovernanceById(Long serviceGovernanceId);

    /**
     * 分页查询服务治理信息
     *
     * @param req 分页查询服务治理请求参数
     * @return 分页查询服务治理响应参数
     */
    PaginationResponse<PageServiceGovernanceResp> pageQueryServiceGovernance(PageServiceGovernanceReq req);

    /**
     * 根据id查询服务治理信息
     *
     * @param serviceGovernanceId 服务治理id
     * @return 查询服务治理响应参数
     */
    SearchServiceGovernanceResp searchServiceGovernanceById(Long serviceGovernanceId);

}
